package com.itheima;


import cn.itheima.health.service.SetMealService;
import com.itheima.constant.MessageConstant;
import com.itheima.healt.entlty.Result;
import com.itheima.pojo.Setmeal;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController        // 杰森控制器
@RequestMapping("/setmeal") //响应映射  ("/setmeal") 对应前端的 axios.get("/setmeal/findAll.do")
public class SetMealController {

    @Reference     //org.apache.dubbo 包
    public SetMealService setMealService;

    @RequestMapping("/findAll.do")   //给方法添加 映射Mapping
    //为什么 返回值类型是 Result，  因为 Result 是一个结果集响应对象
    public Result findAll(){
        try {
            //在service层中创建一个 findAll的方法 ，然后用一个 list集合封装起来，里面的数据类型是 Setmeal
            //为什么是 Setmeal  因为 我们需要Setmeal 套餐中的数据
            List<Setmeal> list = setMealService.findAll();
            // Result  是一个结果集响应对象  用来返回后台发送到前台的响应
                //MessageConstant  是一个结果提示信息
            return new Result(true, MessageConstant.QUERY_SETMEAL_SUCCESS,list);
        } catch (Exception e) {
            e.printStackTrace();
            return new Result(false, MessageConstant.QUERY_SETMEAL_FAIL);
        }
    }

    @RequestMapping("/findSetmealDetailById.do")   //给方法添加 映射Mapping
    public Result findSetmealDetailById(@RequestParam("id") Integer id){
        try {

           Setmeal setmeal = setMealService.findSetmealDetailById(id);

            return new Result(true, MessageConstant.QUERY_SETMEAL_SUCCESS,setmeal);
        } catch (Exception e) {
            e.printStackTrace();
            return new Result(false, MessageConstant.QUERY_SETMEAL_FAIL);
        }
    }
}

